The described technology relates generally to conducting electronic commerce and, more particularly, to providing notifications of transactions conducted over a computer network.
Because it facilitates electronic communications between vendors and purchasers, the Internet is increasingly being used to conduct xe2x80x9celectronic commerce.xe2x80x9d The Internet comprises a vast number of computers and computer networks that are interconnected through communication channels. Electronic commerce refers generally to commercial transactions that are at least partially conducted using the computer systems of the parties to the transactions. For example, a purchaser can use a personal computer to connect via the Internet to a vendor""s computer. The purchaser can then interact with the vendor""s computer to conduct the transaction. Although many of the commercial transactions that are performed today could be performed via electronic commerce, the acceptance and wide-spread use of electronic commerce depends, in large part, upon the ease-of-use of conducting such electronic commerce. If electronic commerce can be easily conducted, then even the novice computer user will choose to engage in electronic commerce. Therefore, it is important that techniques be developed to facilitate conducting electronic commerce.
The Internet facilitates conducting electronic commerce, in part, because it uses standardized techniques for exchanging information. Many standards have been established for exchanging information over the Internet, such as electronic mail, Gopher, and the World Wide Web (xe2x80x9cWWWxe2x80x9d). The WWW service allows a server computer system (i.e., web server or web site) to send graphical web pages of information to a remote client computer system. The remote client computer system can then display the web pages. Each resource (e.g., computer or web page) of the WWW is uniquely identifiable by a Uniform Resource Locator (xe2x80x9cURLxe2x80x9d). To view a specific web page, a client computer system specifies the URL for that web page in a request (e.g., a HyperText Transfer Protocol (xe2x80x9cHTTPxe2x80x9d) request). The request is forwarded to the web server that supports that web page. When that web server receives the request, it sends the requested web page to the client computer system. When the client computer system receives that web page, it typically displays the web page using a browser. A browser is typically a special-purpose application program that effects the requesting of web pages and the displaying of web pages.
Currently, web pages are generally defined using HyperText Markup Language (xe2x80x9cHTMLxe2x80x9d). HTML provides a standard set of tags that define how a web page is to be displayed. When a user indicates to the browser to display a web page, the browser sends a request to the server computer system to transfer to the client computer system an HTML document that defines the web page. When the requested HTML document is received by the client computer system, the browser displays the web page as defined by the HTML document. The HTML document contains various tags that control the displaying of text, graphics, controls, and other features. The HTML document may contain URLs of other web pages available on that server computer system or other server computer systems.
The World Wide Web portion of the Internet is especially conducive to conducting electronic commerce. Many web servers have been developed through which vendors can advertise and sell product. The products can include items (e.g., music) that are delivered electronically to the purchaser over the Internet and items (e.g., books) that are delivered through conventional distribution channels (e.g., a common carrier). A server computer system may provide an electronic version of a catalog that lists the items that are available. A user, who is a potential purchaser, may browse through the catalog using a browser and select various items that are to be purchased. To facilitate the identifying of items, the catalog may be hierarchically organized. A user may browse through the hierarchy to find items of interest. When the user has completed selecting the items to be purchased, the server computer system then prompts the user for information to complete the ordering of the items. This purchaser-specific order information may include the purchaser""s name, the purchaser""s credit card number, and a shipping address for the order. The server computer system then typically confirms the order by sending a confirming web page to the client computer system and schedules shipment of the items.
The World Wide Web is also being used to conduct other types of commercial transactions. For example, server computer systems have been developed to support the conducting of auctions electronically. To conduct an auction electronically, the seller of an item provides a definition of the auction via web pages to a server computer system. The definition includes a description of the item, an auction time period, and optionally a minimum bid. The server computer system then conducts the auction during the specified time period. Potential buyers can search the server computer system for an auction of interest. When such an auction is found, the potential buyer can view the bidding history for the auction and enter a bid for the item. When the auction is closed, the server computer system notifies the winning bidder and the seller (e.g., via electronic mail) so that they can complete the transaction.
Because of the vast number of commercial transactions being conducted and because of the speed at which they are being conducted, it can be very difficult to identify transactions that may be of interest to a user. A user may identify auctions of interest by periodically accessing the auction web site and browsing through the categories of interest. Because of the large number of auctions that may be in a category, it may be difficult for a user to determine which auctions the user has already seen. If the links to the auctions are sorted by an ending time, then the auctions that the user has not yet seen may be interleaved with the auctions that the user has already seen. If the links to the auctions are sorted by starting time, then the auctions that have not yet been seen may be easily identified as long as the user remembers the last time that they accessed the web site. Even if the user can easily identify which auctions they have already seen, it may be inconvenient and frustrating to access the web site only to find that no new auctions of interest have been opened. Some web servers may automatically notify users via electronic mail when certain items become available. For example, when a new book is published, a web server through which books may be purchased may send an electronic mail message to each user who expressed an interest in books by the author of that newly published book. The frequency at which books are published pales in comparison to the frequency at which new auctions are opened. Thus, a different technique may be needed to notify users of certain high frequency transactions.
A method and system for generating notifications of transactions based on user notification requests is provided. In one embodiment, the notification system receives from users selection specifications that specify the types of transactions for which the user is to be notified. The selection specifications may include a category of the transactions, keywords for identifying transactions, and values for attributes associated with the category. When the notification system receives a selection specification, it determines whether that selection specification is the same as or nearly the same as other selection specifications that have been received. The notification system may normalize the selection specifications so that selection specifications that are nearly the same can be identified. The notification system maintains a mapping of users to selection specifications. When multiple users specify similar selection specifications, the notification system maps each user to the same normalized selection specification. The notification system can identify transactions that match the normalized selection specifications and notify each of the users who are mapped to that selection specification. In this way, the notification system avoids re-identifying the new auctions for each of the multiple users who are mapped to the same selection specification. The notification system periodically determines whether any new transactions satisfy a selection specification by submitting a query to a transaction database and then notifies the users when new transactions are identified. The notification may include a list of transactions that is sorted based on access patterns of users who are presented with lists of transactions using selection specifications with similar category, attribute, or keyword values.